home *** CD-ROM | disk | FTP | other *** search
/ Programming Sound Cards / Programming Sound Cards.iso / sound_80 / timename.pas < prev    next >
Pascal/Delphi Source File  |  1995-01-01  |  2KB  |  80 lines

  1. unit TimeName;
  2. interface
  3. uses
  4.   ODialogs,
  5.   OWindows,
  6.   PlayDlg,
  7.   PlayerId,
  8.   Strings,
  9.   WinDos,
  10.   WinProcs,
  11.   WinTypes;
  12.  
  13. type
  14.   PTimeNameRec = ^TTimeNameRec;
  15.   TTimeNameRec = Record
  16.     FileName: array[0..MaxLen] of Char;
  17.     Time: Word;
  18.   end;
  19.  
  20.   PTimeNameDlg = ^TTimeNameDlg;
  21.   TTimeNameDlg = Object(TDialog)
  22.       TimeName: TTimeNameRec;
  23.     constructor Init(AParent: PWindowsObject; AName: PChar; TN: TTimeNameRec);
  24.     procedure Ok(var Msg: TMessage);
  25.       virtual id_First + id_Ok;
  26.     procedure SetUpWindow; virtual;
  27.   end;
  28.  
  29. implementation
  30. constructor TTimeNameDlg.Init(AParent: PWindowsObject; AName: PChar; TN: TTimeNameRec);
  31. begin
  32.   Inherited Init(AParent, AName);
  33.   Move(TN, TimeName, SizeOf(TTimeNameRec));
  34. end;
  35.  
  36. procedure AddWaveExt(Path : PChar);
  37. var
  38.   Dir: DirStr;
  39.   Name: NameStr;
  40.   Ext: ExtStr;
  41. begin
  42.   FileSplit(Path,Dir,Name,Ext);
  43.   StrCopy(Ext, '.Wav');
  44.   StrCopy(Path, Name);
  45.   StrCat(Path, Ext);
  46. end;
  47.  
  48. procedure TTimeNameDlg.Ok(var Msg: TMessage);
  49. var
  50.   i: Integer;
  51. begin
  52.   SendDlgItemMessage(HWindow, ID_TNEdit, WM_GetText,
  53.                      MaxLen, LongInt(@TimeName.FileName));
  54.   AddWaveExt(TimeName.FileName);
  55.   for i := 1 to 8 do
  56.     if SendDlgItemMessage(HWindow, 5101 + i, BM_GetCheck, 0, 0) <> 0 then
  57.       break;
  58.  
  59.   case i of
  60.     1: TimeName.Time := 5;
  61.     2: TimeName.Time := 10;
  62.     3: TimeName.Time := 15;
  63.     4: TimeName.Time := 20;
  64.     5: TimeName.Time := 30;
  65.     6: TimeName.Time := 40;
  66.     7: TimeName.Time := 50;
  67.     8: TimeName.Time := 60;
  68.   end;
  69.  
  70.   SendMessage(Parent^.HWindow, Wm_TimeName, 0, LongInt(@TimeName));
  71.   inherited Ok(Msg);
  72. end;
  73.  
  74. procedure TTimeNameDlg.SetUpWindow;
  75. begin
  76.   inherited SetUpWindow;
  77.   SendDlgItemMessage(HWindow, ID_TNEdit, WM_SetText, 0, LongInt(@TimeName.FileName));
  78.   SendDlgItemMessage(HWindow, ID_TN5, BM_SetCheck, 1, 0);
  79. end;
  80. end.